﻿package {
	//用于存取角色名称建及对应控制器值的容器
	public class HashMap {
		private var listArray:Array;
		public function HashMap() {
			listArray = new Array();
		}
		public function put(key:String, value:Object) {
			var bool = false;
			for (var i = 0; i < listArray.length; i++) {
				if (listArray[i].key == key) {
					bool = true;
				}
			}
			if (! bool) {
				var object:Object = new Object();
				object.key = key;
				object.value = value;
				listArray.push(object);
			} else {
				throw new Error("HashMap容器中已存在当前键值，无法添加");
			}

		}
		public function get(key:String) {
			for (var i = 0; i < listArray.length; i++) {
				if (listArray[i].key == key) {
					return listArray[i].value;
				}
			}
			throw new Error("HashMap容器中没有当前对象，无法获取");
		}
		public function isEmpty() {
			if (listArray.length == 0) {
				return true;
			}
			return false;
		}
		public function clear() {
			listArray = null;
			listArray = new Array();
		}
		public function size():Number {
			return listArray.length;
		}
		public function remove(key:String) {
			var bool = false;
			for (var i = 0; i < listArray.length; i++) {
				if (listArray[i].key == key) {
					listArray[i].key = null;
					listArray[i].value = null;
					listArray.splice(i,1);
					bool = true;
				}
			}
			if (! bool) {
				throw new Error("HashMap容器中没有当前对象,无法删除");
			}
		}
		public function getArray() {
			return listArray;
		}
	}
}